iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
0
自我挑戰組

透過JavaScript學習演算法與資料結構系列 第 5

插入排序(Insertion Sort)

  • 分享至 

  • xImage
  •  

插入排序的主要精神在迴圈抓出每個值,並且向陣列左方的每個值逐一比較大小,如果比較小則將值左右交換,如此最小值會被插入在最前面。

可以先看以下的觀念影片
Yes

完整程式碼如下:

function insertionSort(arr){
  for(let i=0;i<arr.length;i++){
    let pickIndex=i;
    const insertValue=arr[i];
    //If the previous value is bigger than this value,we change both.
    while(i>=0 && arr[pickIndex-1] > insertValue){
      [arr[pickIndex],arr[pickIndex-1]]=[arr[pickIndex-1],arr[pickIndex]];
      pickIndex--;
    }
  }
  return arr;
}

const arr=[7,5,1,20,8];
console.log(insertionSort(arr));

程式碼


上一篇
選擇排序法(Selection Sort)
下一篇
希爾排序法(Shell Sort)
系列文
透過JavaScript學習演算法與資料結構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言